// print('start eng...\n');

Ctx.frMap = function (obj, jsObjName) {
    var ctx = Ctx.c(obj);

    ctx.jsObjName = jsObjName;

    Ctx.extend(ctx);

    return ctx;
}

Ctx.extend = function (ctx) {
    ctx.test = function(){
        print('test Ctx');
    }


    ctx.str = function () {
        return this.value.toString();
    }

    ctx.isNull = function(nullHandle){
        if(this.value){

        }else{
            nullHandle(this);
        }
    }
    ctx.notNull = function(notNullHandle){
        if(this.value){
            notNullHandle(this);
        }else{

        }
    }

    ctx.getNullValue = function(nullHandle){
        if(this.value){

        }else{
            return nullHandle(this);
        }
    }
    ctx.getNotNullValue = function(notNullHandle){
        if(this.value){
            return notNullHandle(this);
        }else{
            return null;
        }
    }

    ctx.getValue = function(){
        return this.value;
    }

    ctx.forAll = function(forAllFun){
        if(!this.value)return;
        var value = this.value;
        var cnt = 0;
        for(var ix in value){
            var item = value[ix];
            if(item){
                forAllFun(item,ix,cnt,this);
                cnt++;
            }
        }
    }

}